#ifndef CENTERWIDGET_H
#define CENTERWIDGET_H

#include <QWidget>
#include "navigationwidget.h"
#include "aboutwidget.h"
#include "campusprofilewidget.h"
#include "exhibitionwidget.h"
namespace Ui {
class CenterWidget;
}

/**
 * @brief 主界面中心组件类
 * 
 * 负责管理导航、校园简介、展览展示等子界面的切换控制，
 * 提供核心界面切换信号传递功能。
 */
class CenterWidget : public QWidget
{
    Q_OBJECT

public:
    /**
     * @brief 构造函数
     * @param parent 父组件指针
     */
    explicit CenterWidget(QWidget *parent = nullptr);

    /**
     * @brief 析构函数
     */
    ~CenterWidget();

signals:
    /**
     * @brief 界面切换信号
     * @param 目标界面名称
     */
    void sendDisWidget(QString );

private slots:
    /** @brief 处理导航按钮点击事件 */
    void on_pushButton_1_clicked();

    /** @brief 处理校园简介按钮点击事件 */
    void on_pushButton_2_clicked();

    /** @brief 处理展览展示按钮点击事件 */
    void on_pushButton_3_clicked();

    /** @brief 处理关于我们按钮点击事件 */
    void on_pushButton_4_clicked();

    /** @brief 预留功能按钮点击事件 */
    void on_pushButton_5_clicked();

private:
    Ui::CenterWidget *ui; ///< 主界面UI组件

    NavigationWidget    *m_NavigationWidget;    ///< 导航组件实例
    AboutWidget         *m_AboutWidget;         ///< 关于界面组件
    CampusProfileWidget *m_CampusProfileWidget; ///< 校园简介组件
    ExhibitionWidget    *m_ExhibitionWidget;    ///< 展览展示组件
};

#endif // CENTERWIDGET_H
